package opf5.entities.filtrosJugadores;

import opf5.entities.calificaciones.CalculadorPromedios;
import opf5.entities.dominio.Jugador;

public class FiltroPromedioUltimoPartido implements FiltroJugadores {
	private boolean valorDesdeSeteado = false;
	private boolean valorHastaSeteado = false;
	private double valorDesde;
	private double valorHasta;

	public FiltroPromedioUltimoPartido() {
		valorDesdeSeteado = false;
		valorHastaSeteado = false;
	}
	
	public FiltroPromedioUltimoPartido(double desde, double hasta) {
		this.setDesde(desde);
		this.setHasta(hasta);
	}
	
	public void setHasta(double hasta) {
		this.valorHasta = hasta;
		this.valorHastaSeteado = true;
	}

	public void setDesde(double desde) {
		this.valorDesde = desde;
		this.valorDesdeSeteado = true;
	}

	@Override
	public boolean jugadorCumpleCondicion(Jugador j) {
		double promedio = CalculadorPromedios.calcularPromedioUltimoPartido(j);
		
		if (valorDesdeSeteado && valorHastaSeteado) {
			return promedio >= valorDesde && promedio <= valorHasta;
		} else if (valorDesdeSeteado) {
			return promedio >= valorDesde;
		}
		
		return promedio <= valorHasta;
	}

}
